package com.ruoyi.consumer.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 微信支付记录对象 payment_record
 *
 * @author ruoyi
 * @date 2023-11-08
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class PaymentRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 支付计划id */
    private String planId;

    /** 供暖年度 */
    @Excel(name = "供暖年度")
    private String planYear;

    /** 预支付订单id */
    private String prepayId;

    /** 订单号 */
    @Excel(name = "商务订单号")
    private String outTradeNo;

    /** 用户id */
    private Long userId;

    /** 用户卡号 */
    @Excel(name = "用户卡号")
    private String heatNumber;

    /** 支付状态 {@link com.ruoyi.consumer.enums.PaymentStatusEnums} */
    @Excel(name = "交易状态")
    private String paymentStatus;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callbackTime;

    /** 轮训检索次数 */
    private Integer loopTimes;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String homeOwner;

    /** 手机号 */
    @Excel(name = "手机号")
    private String telNo;

    /** 支付费用 */
    @Excel(name = "应收合计")
    private BigDecimal totalPrice;

    /*** 退款金额 */
    private BigDecimal refundFee;

    /**  退款订单号 */
    private String refundOutTradeNo;

    /** 操作发起人id */
    private Long refundUserId;

    /** 操作发起人名称 */
    private String refundUserName;

    /** 退款状态 */
    private String refundStatus;

    /** 小区名称 */
    @Excel(name = "小区名称")
    private String locationName;

    /** 楼座/区域名称 */
    @Excel(name = "楼座/区域名称")
    private String regionName;

    /** 单元门 */
    @Excel(name = "单元")
    private String unitName;

    /** 房间号 */
    @Excel(name = "房间号")
    private String roomName;

    /** 房间编码 */
    private String roomCode;

    /** 房间id */
    private String roomId;

    /** 用户表的缴费状态 */
    private String userPaymentStatus;

    /** 内网数据库支付id */
    private String fPayID;

    /** 设备号 */
    @Excel(name = "设备号")
    private String deviceInfo;

    /** 微信支付订单号 */
    @Excel(name = "微信订单号")
    private String transactionId;

    /** 交易类型 */
    @Excel(name = "交易类型")
    private String tradeType;

    /** 付款银行 */
    @Excel(name = "付款银行")
    private String bankType;

    /** 代金券金额 */
    @Excel(name = "代金券金额")
    private String couponFee;

    /** 微信退款单号 */
    @Excel(name = "微信退款单号")
    private String wechatRefundNumber;

    /** 商户退款单号 */
    @Excel(name = "商户退款单号")
    private String merchantRefundNumber;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /** 费率 */
    @Excel(name = "费率")
    private BigDecimal rate;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal handlingCharge;

    /** 实收金额 */
    @Excel(name = "实收金额")
    private BigDecimal paidInAmount;

    /** 是否删除1已删0未删 */
    private String isDelete;

}
